package Java;

public class statics {
    /**
     * static注意事项
     * 1.静态只能访问静态
     * 2.非静态既可以访问非静态的,也可以访问静态的
     *
     * 流程控制语句
     * 1.break,continue,return的区别及作用
     * break跳出总上一层循环,不再执行循环(结束当前的循环体)
     * continue跳出本次循环,继续执行下次循环(结束正在执行的循环 进入下一个循环条件)
     * return程序返回,不再执行下面的代码(结束当前的方法,直接返回)
     *
     * 在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环
     *
     * 面向对象
     *  1.面向过程：
     *    优点：性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机,嵌入式开发,Linux等一般采用面向过程开发,性能是
     *    最重要的因素。
     *    缺点：没有面向对象易维护,易复用,易扩展
     *  2.面向对象：
     *    优点：易维护,易复用,易扩展,由于面向对象有封装 继承 多态性的特性,可以设计出低耦合的系统,使系统更加灵活,更加易于维护
     *    缺点：性能比面向过程低
     *    面向过程是具体化的,流程化的,解决一个问题,需要一步一步的分析,一步一步的实现。
     *
     *    面向对象是模型化的,只需要抽象出一个类,这是一个封闭的盒子,在这里拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了
     *    面向对象的底层其实还是面向过程,把面向过程抽象成类,然后封装,方便我们使用的就是面向对象了。
     *    面向对象三大特性
     *    1.面向对象的特性有哪些方面
     *    面向对象的特征主要有以下几个方面：
     *    抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的
     *    细节是什么。
     *
     *    封装
     *    封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不比提供方法给外界访问。
     *    但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。
     */

    /**
     * 继承
     *  使用已存在类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能
     *  也可以用父类的功能,但不能选择性地继承父类。通过使用继承我们能够非常方便地复用以前的代码。
     *  1.子类拥有父类非private的属性和方法。
     *  2.子类可以拥有自己属性和方法,即子类可以对父类进行扩展。
     *  3.子类可以用自己的方法实现父类的方法
     *
     *  多态
     *   多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量出发的方法调用在编程时并不确定,而是在程序运行期间才确定,
     *   即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。
     *   在Java中有两种形式可以实现多态：继承(多个子类对同一方法的重写)和接口(实现接口并覆盖接口中同一方法)。
     *   其中Java面向对象编程三大特性：封装 继承 多态
     *
     *  封装：隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用，提高复用性和安全性
     *  继承：继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能
     *  选择性地继承父类。通过使用继承我们能够非常方便地复用以前的代码。
     *
     *  继承的三种形式：
     *  1.子类拥有父类非private的属性和方法。
     *  2.子类可以拥有自己属性和方法,即子类可以对父类进行扩展
     *  3.子类可以用自己的方式实现父类的方法。
     *  多态性：
     *    父类或接口定义的引用变量可以指向子类或具体实现类的实现对象。提高了程序的扩展性。
     *    在java中有两种形式可以实现多态：继承(多个子类对同一方法的重写)和接口(实现接口并覆盖接口中同一方法)。
     *    方法重载实现的是编译时的多态性,而方法重写实现的是运行时的多态性。
     *    一个引用变量到底会指向那个类的实例对象,该引用变量发出的方法调用到底是那个类中实现的方法,必须在由程序运行期间才能决定。
     *    运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事：
     *    方法重写(子类继承父类并重写父类中已有的或抽象的方法);
     *    对象造型(用父类型引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。
     *
     *   4.什么是多态机制
     *   多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即
     *   一个引用变量会指向那个类的实例对象,该引用变量发出的方法调用到底是那个类中实现的方法，必须在由程序运行期间才能决定。即一个
     */
}
